home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS 1995 January / Simtel - 10000 MSDOS Shareware Programs (Walnut Creek)(January 1995)(Disc 1).ISO / disc1 / screen / victory.cqr / victory.cur
Text File  |  1986-03-29  |  5KB  |  90 lines

  1. VICTORY! VICTORY! VICTORY! VICTORY! VICTORY! VICTORY! VICTORY! VICTORY! 
  2.  
  3. Hi, this is Sigi KLuger speaking here... I just switched computer systems (for
  4. the first time ever). I had been using S-100 machines of different varieties
  5. and with different operating systems since 1977. Now that I work for a company
  6. that produces IBM-PC coprocessor cards, I decided that now's the time to switch
  7. to something PC-compatible. Right now I'm using a PC-TECH 80186 machine, which
  8. is really nice and super fast (almost as fast as an AT!!!) but will get myself
  9. something more conservative to be able to plug in a V20 and run (nostalgia,
  10. yea!!!) some of my 8080 programs.
  11.  
  12. Now, what I'm so long-windedly trying to get at is the fact I passionately
  13. hate blinking cursors - they drive me up the wall and cause headaches.
  14. Everyone I talked to told me that "that's the way it is designed" and that
  15. it was "done in hardware". Surely it had to have been done in hardware since
  16. the 6845 CRT controller can be programmed for two different blink rates OR
  17. non-blink! Unfortunately, these days it seems people are better with their
  18. fingers on the keyboard that in between chips. I was told that someone called
  19. Peter Norton (who appears to be as much the IBM guru as Ward Christensen was
  20. the 8080/S-100/CP/M guru) even said that "it can't be done". Now, are a few
  21. gates here and traces there THAT intimidating? Certainly not!
  22.  
  23. Being a bit unfamiliar with TTL after having done no hardware work in a while
  24. (but catching up fast...), I was at first totally lost looking at the mono
  25. graphics card I'm using (can't tell the brand -- something Taiwanese I think).
  26. But after I got a look at a schematic (yes some of the cheap far east clones
  27. have tiny little schematics which are almost unreadable) I found the obvious
  28. solution to the blinking menace - a knife!
  29.  
  30. It appears as though most monochrome display cards (and graphics such as
  31. HERCULES and "compatibles" use the same basic layout. This is roughly how it
  32. works, for those who have no schematics:
  33. The CURSOR output (pin 19 of the 6845) goes into a 74LS174. There it is delayed
  34. since the cursor location as output by the controller is normally at the
  35. location of the last character. The cursor is delayed by one character position
  36. so that it is displayed just beyond the last character. This is done in two
  37. flip-flops in the '174. The cursor signal enters on D4, the Q4 output is fed
  38. into D5. The Q5 output is the delayed cursor signal. It is fed into a 7464,
  39. usually on pin 9. The '64 basically consists of four AND gates feeding a NOR
  40. gate. Pins 9 and 10 are the inputs of a 2-input AND, and pin 10 is the clock
  41. pulse providing for the blink rate. To force this long story to an abrupt end,
  42. simply cut the trace leading to pin 10 of the 7464 and the cursor will quit
  43. blinking. You might want to do it right and pull pin 10 up to 5V via a 2.2k
  44. resistor after you have verified that it indeed works.
  45.  
  46. There appears to be only one 7464 on the board, so you can't miss. Don't be
  47. confused by the board layout - the 64 may be clear on the other end of the
  48. board as seen from the 174! If your display card doesn't have a 7464, then
  49. you're on your own. If it does, you can be fairly sure that pin 10 controls
  50. the cursor, but of course, there's no guarantee.
  51.  
  52. One problem with turning the cursor blink off this way is that if your cursor
  53. is something other than an underline (like, a block), you cannot see the
  54. character immediately below the cursor if you move it around the screen!
  55.  
  56. You may use the following code fragment to control the cursor under DEBUG or
  57. include it in programs:
  58.  
  59. MOV    AH,1
  60. MOV    CX,cccc
  61. INT    10H
  62.  
  63. Here are a few values for "cccc" for you to play with:
  64. (INT 10, subfunction 1 is explained in detail in various manuals and books but
  65. there no mention is made of bits 5 and 6 of register CH.
  66.  
  67. cccc = 600BH  -  slow blinking block
  68. cccc = 400BH  -  fast blinking block
  69. cccc = 000BH  -  steady block
  70. cccc = 0B0BH  -  steady underline
  71.  
  72. As you can see, bits 6 and 7 of the CH register control blink:
  73.  
  74. BIT 6  BIT 5
  75.   0      0       no blink
  76.   0      1       no cursor display
  77.   1      0       fast blink
  78.   1      1       slow blink
  79.  
  80.  
  81. I hope this has helped some people who, like myself, are suffering from
  82. blinking cursors. I might add that cutting traces on circuit boards makes
  83. warranty vanish in a puff of greasy black smoke. Fooling with electronic
  84. equipment not knowing what you're doing makes the equipment malfunction
  85. horribly, so you should only attempt to unblink your cursor if you are quite
  86. sure you know what you're doing... If all else fails ask a friend to do it
  87. for you. Just don't blame ME for breaking your computer, ok?
  88.  
  89. May all your cursors be steady ones!
  90.